package com.shycloud.mido.member.api.vo;

import com.shycloud.mido.member.api.entity.AppVersion;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import lombok.Data;
import org.apache.commons.lang.StringUtils;

/**
 * @author nianhua.jiang
 * @description
 * @date 2020/7/10
 */
@Data
public class HomePageVO implements Serializable {

	/** 昵称 */
	private String showName;
	/** 用户ID */
	private String user_id;
	/** 电话 */
	private String phone;
	/** 机构名称 */
	private String org_name;
	/** 机构id */
	private Integer org_id;
	/** 用户名称 */
	private String username;
	/** 提醒 */
	private Boolean remind;
	/** 身份 */
	private String isTeacher;
	/** 生日 */
	private String birthday = "2010-01-01";
	/** 性别 0 男 1女 */
	private String sex = "0";
	/** 头像 */
	private String head;
	/** 教师头像 */
	private String teacherHead;
	/** 欢迎语 */
	private String welcomeWord;
	/** 是否是会员 */
	private Boolean isVip;
	/** 是否开通纠错大师 */
	private Boolean isMaster;
	/** app版本信息 */
	private AppVersion appVersion;
	/** 剩余虚拟币 */
	private Integer gold;
	/** 目标总下载量 */
	private Integer downloadTotalMp3Count;
	/** 已使用下载次数 */
	private Integer downloadMp3Count;
	/** 老师ID */
	private String teacherId;
	/** 教师姓名 */
	private String teacherName;
	/** 学生ID */
	private String studentId;
	/** 教师身份是否有学生 */
	private String hasStudents;

	/** 教师是否有辅导权限 0-无 1-有 2-已过期 */
	private String isAssistPermission;
	/** 教辅权限类型 */
	private String assistType;
	/** 教辅权限到期时间 */
	private String assistEndTime;

	/** 小程序状态 */
	private String miniStatus = "0";
	/** 琴龄 */
	private String playYears = "0";
	/** 目标 */
	private String playTarget = "0";
	/** 是否是机构教师 */
	private String isOrganTeacher;

	private String vipOverDateTime;

	public String getIsOrganTeacher() {
		if (this.username.startsWith("700")) {
			return "1";
		} else {
			return "0";
		}
	}

	private String teacherImId;

	private String teacherMemberShowName;

	private long age;

	public long getAge() {
		if (StringUtils.isNotBlank(this.birthday)) {
			LocalDate birthdayLD = LocalDate.from(DateTimeFormatter.ofPattern("yyyy-MM-dd").parse(this.birthday));
			long age = ChronoUnit.YEARS.between(birthdayLD, LocalDate.now());
			return age;
		} else {
			return 10;
		}
	}

	/** 周报订阅 0-未订阅 1-已订阅 */
	private String subscribe = "0";
	/** 上音社用户显示 0-不显示 1-显示 */
	private String syShow;
	/** 是否在订阅期中 */
	private String isAgreementSign;

	private String registerFrom;

	private String isForever;
	/** 是否显示总榜 0-不显示 1-显示 */
	private String showTotalRank;

}
